package com.kang.service;

import java.util.List;
import java.util.Map;

import com.kang.pojo.Audit;
import com.vonechina.entity.page.ApproveByMeAuditPage;
import com.vonechina.entity.page.AuditPage;
import com.vonechina.entity.page.MySubmittedAuditPage;

/**
 * 审批服务层
 * 
 * @author zs614
 *
 */
public interface AuditService {

	/**
	 * 添加审批记录
	 * 
	 * @param audit
	 *            审批记录实体类
	 * @return
	 */
	int addAudit(Audit audit);

	/**
	 * 分页查询审批
	 * 
	 * @param auditPage
	 *            搜索条件实体类
	 * @return
	 */
	List<Map<String, Object>> listAudit(AuditPage auditPage);

	/**
	 * 查询审批条数
	 * 
	 * @param auditPage
	 *            搜索条件实体类
	 * @return
	 */
	int countAudit(AuditPage auditPage);

	/**
	 * 拒绝审批
	 * 
	 * @param id
	 *            审批ID
	 * @param userID
	 *            用户ID
	 * @return
	 */
	int rejectapproveRequest(int id, int userID);

	/**
	 * 通过审批
	 * 
	 * @param id
	 *            审批ID
	 * @param userID
	 *            用户ID
	 * @return
	 */
	int passapproveRequest(int id, int userID);

	/**
	 * 查询我提交的审批
	 * 
	 * @param page
	 *            搜索条件实体类
	 * @return
	 */
	public List<Audit> listMySubmittedAudit(MySubmittedAuditPage page);

	/**
	 * 查询我审批的
	 * 
	 * @param page
	 *            搜索条件实体类
	 * @return
	 */
	public List<Audit> listApproveByMe(ApproveByMeAuditPage page);

	/**
	 * 获取桌面审批总数记录
	 * 
	 * @param userID
	 *            登录用户ID
	 * @return
	 */
	public Map<String, String> getdatarRecoardnumber(int userID);

}
